#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<stdlib.h>

//int singleNumber(int* nums, int numsSize) {
//    int ans = 0;
//    for (int i = 0; i < numsSize; i++)
//    {
//        ans ^= nums[i];
//    }
//    return ans;
//}
//
//void _postorderTraversal(struct TreeNode* root, int* ans, int* count)
//{
//    if (!root)
//    {
//        return;
//    }
//    _postorderTraversal(root->left, ans, count);
//    _postorderTraversal(root->right, ans, count);
//    ans[(*count)++] = root->val;
//}
//
//int* postorderTraversal(struct TreeNode* root, int* returnSize) {
//    int count = 0;
//    int* ans = (int*)malloc(sizeof(int) * 100);
//    _postorderTraversal(root, ans, &count);
//    *returnSize = count;
//    return ans;
//}


int* getRow(int rowIndex, int* returnSize) {
    int* ans[4];
    *returnSize = rowIndex + 1;
    for (int i = 0; i <= rowIndex; i++)
    {
        ans[i] = (int*)malloc(sizeof(int) * (i + 1));
        ans[i][0] = ans[i][i] = 1;
        for (int j = 1; j < i; j++)
        {
            ans[i][j] = ans[i - 1][j] + ans[i - 1][j - 1];
        }
    }
    return ans[rowIndex];
}

int main()
{
    int i = 0;
    getRow(3, &i);
    return 0;
}